package net.lab1024.sa.admin.module.business.summary.domain.form;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;
import lombok.Data;

/**
 * 报价单汇总 - 一条对应多个报价单 新建表单
 *
 * @Author zzx
 * @Date 2025-08-30 15:49:03
 * @Copyright zzx
 */

@Data
public class SummaryInfoAddForm {

    @Schema(description = "报价单汇总id", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "报价单汇总id 不能为空")
    private Long summaryId;

    @Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "项目id 不能为空")
    private Long projectId;

    @Schema(description = "报价日期")
    private LocalDateTime summaryDate;

    @Schema(description = "报价编号")
    private String summaryDateId;

    @Schema(description = "报价方名称")
    private String sendName;

    @Schema(description = "报价方联系人")
    private String sendUser;

    @Schema(description = "报价方手机号")
    private String sendUserTel;

    @Schema(description = "询价方名称")
    private String receiveName;

    @Schema(description = "询价方联系人")
    private String receiveUser;

    @Schema(description = "询价方联系方式")
    private String receiveUserTel;

    @Schema(description = "有效期")
    private LocalDateTime expirationDate;

    @Schema(description = "有效期天数")
    private Integer expirationNum;

    @Schema(description = "出货时间：合同签订后    日")
    private Integer shipmentNum;

    @Schema(description = "产品方式：产品,半成品,型材")
    private String productTpye;

    @Schema(description = "增值税税率")
    private Long taxRate;

    @Schema(description = "报价包含：运输,安装,增值税")
    private String quotationType;

    @Schema(description = "禁用状态", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "禁用状态 不能为空")
    private Integer disabledFlag;

    @Schema(description = "删除状态", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "删除状态 不能为空")
    private Integer deletedFlag;

    @Schema(description = "创建人ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "创建人ID 不能为空")
    private Long createUserId;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "创建时间 不能为空")
    private LocalDateTime createTime;

    @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "更新时间 不能为空")
    private LocalDateTime updateTime;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "金额")
    private String totalMoney;

}